//package tool;
//
//import java.io.IOException;
//
//import org.apache.commons.lang.StringUtils;
//import org.apache.http.HttpEntity;
//import org.apache.http.HttpResponse;
//import org.apache.http.client.config.RequestConfig;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.entity.StringEntity;
//import org.apache.http.impl.client.CloseableHttpClient;
//import org.apache.http.impl.client.HttpClientBuilder;
//import org.apache.http.message.BasicHeader;
//import org.apache.http.protocol.HTTP;
//import org.apache.http.util.EntityUtils;
//import org.springframework.stereotype.Component;
//
//import com.sh.portal.framework.client.RemoteServerArgs;
//import com.sh.portal.framework.client.RemoteServerClient;
//import com.sh.portal.framework.client.RemoteServerResponse;
//import com.sh.portal.util.CommonUtils;
//
//
//public class RemoteServerClientImpl implements RemoteServerClient {
//    
//    private static final String DEFAULT_ENCODE = "UTF-8";
//    
//    private static final String APPLICATION_JSON = "application/json";
//    
//    @Override
//    public RemoteServerResponse post(RemoteServerArgs args) throws IOException {
//        String ip = CommonUtils.getRequestIpAddress();
//        // 创建HttpClientBuilder  
//        HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
//        
//        // HttpClient
//        CloseableHttpClient closeableHttpClient = httpClientBuilder.build();
//        // 请求参数
//        StringEntity entity = new StringEntity(args.getRequestJson(), DEFAULT_ENCODE);
//        entity.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
//        HttpPost httpPost = new HttpPost(args.getUrl());  
//        httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);
//        //此处区别PC终端类型
//        httpPost.addHeader("typeFlg", "9");
//        //此处增加浏览器端访问IP
//        if(!ip.equals("")){
//            httpPost.addHeader("x-forwarded-for",ip);
//        }
//        httpPost.setEntity(entity);
//        httpPost.setConfig(RequestConfig.DEFAULT);
//        
//        HttpResponse httpResponse;  
//        // post请求  
//        httpResponse = closeableHttpClient.execute(httpPost);
//        HttpEntity httpEntity = httpResponse.getEntity();
//        RemoteServerResponse response;
//        if (httpEntity != null) {
//            response = new RemoteServerResponse(httpResponse.getStatusLine().getStatusCode(), 
//                EntityUtils.toString(httpEntity, DEFAULT_ENCODE));
//        } else {
//            response = new RemoteServerResponse(httpResponse.getStatusLine().getStatusCode(), 
//                    StringUtils.EMPTY);
//        }
//        //释放资源  
//        closeableHttpClient.close();  
//        return response;
//    }
//
//}